package com.project.service;

import com.project.bean.ProductBean;
import com.project.bean.PurchaseCarBean;
import com.project.bean.PurchaseOrderBean;
import com.project.bean.SellOrderBean;

import java.util.List;

/**
 * 采购车接口类
 */
public interface IPurchaseCarService {
    /**
     * 根据登录采购员查询采购车信息
     * @param userName 登录采购员
     * @return 采购车集合
     */
    public List<PurchaseCarBean> findAll(String userName);

    /**
     * 通过id修改采购的价格、采购数量
     * @param id 采购车ID
     * @param newPrice 新采购价
     * @param newNum 新采购数量
     */
    public void updatePriceNumById(Integer id,Integer newPrice,Integer newNum);

    /**
     * 通过采购车id删除购物车商品
     * @param id  采购车id
     */
    public void removeShop(Integer id);

    /**
     * 添加商品
     * 1、判断操作的值，如果是update，那么判断该采购车中是否存在该商品，如果存在，则修改采购车中的采购数量（累加），如果不存在，则新增采购车中的采购数量。
     * 2、如果是add，则完成库存商品的添加（库存数量为0，采购价为null，销售价为null），采购车添加该商品的记录。
     * @param product 商品对象
     */
    public void addPurchaseCar(ProductBean product,Integer num,String userName);

    /**
     * 将采购商品入库
     * 1、添加采购订单
     * 2、按采购员(登录用户id)查询购物车
     * 3、遍历采购车，循环添加采购明细信息，循环修改库存商品的库存数量（累加）、以及最新采购价
     * 4、根据采购员id清空购物车
     * @param purchaseOrder 采购车订单
     */
    public void addProduct(PurchaseOrderBean purchaseOrder,String userName);


}
